package com.banggood.upms.dao;


import com.banggood.upms.bean.vo.search.BaseSearchCriteria;

import java.util.List;

public interface BaseDao<T> {

    /**
     * 根据ID删除
     * @param id
     * @return
     */
    int deleteByPrimaryKey(String id);

    /**
     * 新增
     * @param record
     * @return
     */
    int insert(T record);

    /**
     * 根据ID搜索
     * @param id
     * @return
     */
    T selectByPrimaryKey(String id);

    /**
     * 查找全部
     * @return
     */
    List<T> selectAll();

    /**
     * 根据条件搜索记录数
     * @param criteria
     * @return
     */
    int selectCount(BaseSearchCriteria criteria);

    /**
     * 根据ID更新
     * @param record
     * @return
     */
    int updateByPrimaryKey(T record);

    /**
     * 条件搜索
     * @param criteria
     * @return
     */
    List<T> selectByCriteria(BaseSearchCriteria criteria);
}
